//
//  BMSelectedTextField.h
//  bigmama
//
//  Created by huyuchen on 2017/8/14.
//  Copyright © 2017年 盛成文化. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "BMPickerViewToolBar.h"
#import "BMDatePickerViewStyle.h"
#import "BMSinglePickerView.h"
#import "BMMultiplePickerView.h"
#import "BMMultipleAssociatedPickerView.h"
#import "BMNewDatePickerView.h"

/**
 适用于UITextField
 */
@interface BMSelectedTextField : UITextField

// 是否设置自动选择内容到TextField中 默认NO
@property (nonatomic, assign) BOOL autoSetSelectedText;
// 选择框高度 默认260
@property (nonatomic, assign) CGFloat pickerViewHeight;

// 设置toolBar
- (void)setupToolBarWithBlock:(void(^)(BMPickerViewToolBar *toolBar))block;


/**
 弹出显示单列数据

 @param toolBarText     提示文字
 @param data            数据
 @param defaultIndex    默认选中index
 @param toolBarStyle    toolbar样式
 @param cancelBlock     取消操作
 @param clickBlock      确认操作
 */
- (void)showSingleColPickerWithToolBarText:(NSString *)toolBarText data:(NSArray<NSString *> *)data defaultIndex:(NSInteger)defaultIndex toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)cancelBlock clickBlock:(TextFieldSingleClickBlock)clickBlock;


/**
 弹出显示多列不关联数据

 @param toolBarText     提示文字
 @param defaultIndexs   默认选中的
 @param data            数据
 @param toolBarStyle    toolbar样式
 @param cancelBlock     取消操作
 @param clickBlock      确认操作
 */
- (void)showMultipleColPickerWithToolBarText:(NSString *)toolBarText defaultIndexs: (NSArray *)defaultIndexs data:(NSArray<NSArray<NSString *> *> *)data toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)cancelBlock clickBlock: (TextFieldMulpitleClickBlock)clickBlock;


/**
 弹出显示多列关联数据

 @param toolBarText     提示文字
 @param defaultValues   默认选中每一列的值(相关联)
 @param data            数据
 @param toolBarStyle    toolbar样式
 @param cancelBlock     取消操作
 @param clickBlock      确认操作
 */
- (void)showMultipleAssociatedColPickerWithToolBarText:(NSString *)toolBarText defaultValues:(NSArray *)defaultValues data:(NSArray *)data toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)cancelBlock clickBlock: (TextFieldMulpitleAssociatedClickBlock)clickBlock;


/**
 弹出日期选择器

 @param toolBarText     提示文字
 @param style           日期样式
 @param toolBarStyle    toolbar样式
 @param cancelBlock     取消操作
 @param clickBlock      确认操作
 */
- (void)showDatePickerWithToolBarText:(NSString *)toolBarText style:(BMDatePickerViewStyle *)style toolBarStyle:(BMPickerViewToolBarStyle)toolBarStyle cancelBlock:(CancelBlock)cancelBlock clickBlock:(TextFieldDateClickBlock)clickBlock;
@end
